package com.bank.service;

import com.bank.entity.CardInfo;

import java.util.List;

/**
 * 银行卡信息服务接口
 */
public interface CardInfoService {
    /**
     * 查询所有银行卡信息
     * @return 银行卡信息列表
     */
    List<CardInfo> findAll();

    /**
     * 根据卡号查询银行卡信息
     * @param cardID 卡号
     * @return 银行卡信息
     */
    CardInfo findById(String cardID);

    /**
     * 根据客户ID查询银行卡信息
     * @param customerID 客户ID
     * @return 银行卡信息列表
     */
    List<CardInfo> findByCustomerId(Long customerID);

    /**
     * 新增银行卡信息
     * @param cardInfo 银行卡信息
     * @return 是否成功
     */
    boolean add(CardInfo cardInfo);

    /**
     * 修改银行卡信息
     * @param cardInfo 银行卡信息
     * @return 是否成功
     */
    boolean update(CardInfo cardInfo);

    /**
     * 挂失银行卡
     * @param cardID 卡号
     * @return 是否成功
     */
    boolean reportLoss(String cardID);

    /**
     * 修改银行卡密码
     * @param cardID 卡号
     * @param oldPass 旧密码
     * @param newPass 新密码
     * @return 是否成功
     */
    boolean updatePassword(String cardID, String oldPass, String newPass);

    /**
     * 删除银行卡信息
     * @param cardID 卡号
     * @return 是否成功
     */
    boolean delete(String cardID);
} 